x11: Replace gdk_display_get_window_visual()
authorBenjamin Otte <otte@redhat.com>
Thu, 3 Nov 2016 21:40:36 +0000 (22:40 +0100)
committerBenjamin Otte <otte@redhat.com>
Thu, 3 Nov 2016 21:40:36 +0000 (22:40 +0100)
... with functions that don't use GdkVisual.

A small step towards getting rid of GdkVisual.

gdk/x11/gdkdisplay-x11.c
gdk/x11/gdkglcontext-x11.c
gdk/x11/gdkprivate-x11.h
gdk/x11/gdkwindow-x11.c

index 3b2c3057ee9a521e2b1e3cae05e7c88029e35191..c944a664b497c772cf25d118674b5327db3bc16e 100644 (file)
@@ -2919,12 +2919,12 @@ gdk_x11_display_get_primary_monitor (GdkDisplay *display)
   return NULL;
 }
 
-GdkVisual *
-gdk_x11_display_get_window_visual (GdkX11Display *display)
+static GdkVisual *
+gdk_x11_display_get_window_gdk_visual (GdkX11Display *display)
 {
   GdkScreen *screen;
   GdkVisual *visual;
-  
+
   screen = gdk_display_get_default_screen (GDK_DISPLAY (display));
 
   visual = gdk_screen_get_rgba_visual (screen);
@@ -2934,6 +2934,24 @@ gdk_x11_display_get_window_visual (GdkX11Display *display)
   return visual;
 }
 
+int
+gdk_x11_display_get_window_depth (GdkX11Display *display)
+{
+  return gdk_visual_get_depth (gdk_x11_display_get_window_gdk_visual (display));
+}
+
+Visual *
+gdk_x11_display_get_window_visual (GdkX11Display *display)
+{
+  return gdk_x11_visual_get_xvisual (gdk_x11_display_get_window_gdk_visual (display));
+}
+
+Colormap
+gdk_x11_display_get_window_colormap (GdkX11Display *display)
+{
+  return _gdk_visual_get_x11_colormap (gdk_x11_display_get_window_gdk_visual (display));
+}
+
 static void
 gdk_x11_display_class_init (GdkX11DisplayClass * class)
 {
index 92e852f858e04d8e4b07804f1ab58524bee7e7f7..5f16bafa921162d824e37c120ddc417c4da9c1a6 100644 (file)
@@ -924,7 +924,7 @@ find_fbconfig (GdkDisplay   *display,
   GLXFBConfig *configs;
   int n_configs, i;
   gboolean retval = FALSE;
-  VisualID xvisual_id = XVisualIDFromVisual (gdk_x11_visual_get_xvisual (gdk_x11_display_get_window_visual (GDK_X11_DISPLAY (display))));
+  VisualID xvisual_id = XVisualIDFromVisual (gdk_x11_display_get_window_visual (GDK_X11_DISPLAY (display)));
 
   i = 0;
   attrs[i++] = GLX_DRAWABLE_TYPE;
index b2f72675e30728336ffebff29e88b0d86213686c..b96f1a0d7a4389c230200400818ca1c2f43556e0 100644 (file)
@@ -54,7 +54,9 @@ GdkVisual *   _gdk_x11_screen_get_system_visual          (GdkScreen      *screen
 GList *       _gdk_x11_screen_list_visuals               (GdkScreen      *screen);
 
 
-GdkVisual *   gdk_x11_display_get_window_visual          (GdkX11Display  *display);
+int           gdk_x11_display_get_window_depth           (GdkX11Display  *display);
+Visual *      gdk_x11_display_get_window_visual          (GdkX11Display  *display);
+Colormap      gdk_x11_display_get_window_colormap        (GdkX11Display  *display);
 
 void _gdk_x11_display_add_window    (GdkDisplay *display,
                                      XID        *xid,
index f1b2c07ec4428b994ef8f0807710ecdeb0aec034..4c0eddb2d6da3922e00507bb71a9fb36f84c27b9 100644 (file)
@@ -464,12 +464,12 @@ gdk_x11_create_cairo_surface (GdkWindowImplX11 *impl,
                              int width,
                              int height)
 {
-  GdkVisual *visual;
+  Visual *visual;
     
   visual = gdk_x11_display_get_window_visual (GDK_X11_DISPLAY (gdk_window_get_display (impl->wrapper)));
   return cairo_xlib_surface_create (GDK_WINDOW_XDISPLAY (impl->wrapper),
                                     GDK_WINDOW_IMPL_X11 (impl)->xid,
-                                    GDK_VISUAL_XVISUAL (visual),
+                                    visual,
                                     width, height);
 }
 
@@ -905,7 +905,6 @@ _gdk_x11_display_create_window_impl (GdkDisplay    *display,
   GdkWindowImplX11 *impl;
   GdkX11Screen *x11_screen;
   GdkX11Display *display_x11;
-  GdkVisual *visual;
 
   Window xparent;
   Visual *xvisual;
@@ -932,8 +931,7 @@ _gdk_x11_display_create_window_impl (GdkDisplay    *display,
 
   xattributes_mask = 0;
 
-  visual = gdk_x11_display_get_window_visual (display_x11);
-  xvisual = gdk_x11_visual_get_xvisual (visual);
+  xvisual = gdk_x11_display_get_window_visual (display_x11);
 
   if (attributes_mask & GDK_WA_NOREDIR)
     {
@@ -970,7 +968,7 @@ _gdk_x11_display_create_window_impl (GdkDisplay    *display,
       xattributes.bit_gravity = NorthWestGravity;
       xattributes_mask |= CWBitGravity;
 
-      xattributes.colormap = _gdk_visual_get_x11_colormap (visual);
+      xattributes.colormap = gdk_x11_display_get_window_colormap (display_x11);
       xattributes_mask |= CWColormap;
 
       if (window->window_type == GDK_WINDOW_TEMP)
@@ -983,7 +981,7 @@ _gdk_x11_display_create_window_impl (GdkDisplay    *display,
           impl->override_redirect = TRUE;
         }
 
-      depth = visual->depth;
+      depth = gdk_x11_display_get_window_depth (display_x11);
     }
   else
     {